
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/gpio.h>
#include <linux/interrupt.h>
#include <linux/timer.h>

static unsigned int GPIO_PIN = 15; //这里需要读者自己改
static unsigned int last_state =0;

struct timer_list mytimer;//定时器数据结构


static irqreturn_t gpio_irq_handler(int irq, void *dev_id)
{
 
    mod_timer(&mytimer, jiffies + 1); //10ms
    return IRQ_HANDLED;
}


static int __init gpio_interrupt_init(void){

}

static void __exit gpio_interrupt_exit(void)
{
    free_irq(gpio_to_irq(GPIO_PIN), NULL);
    gpio_free(GPIO_PIN);
    del_timer(&mytimer);
    printk("lsdeg_GPIO interrupt driver exit\n");
}
